1. Field of the Invention
The present invention relates generally to an improved data processing system, and in particular, to a method for reducing implementation time for product-level integration of related computer program products to yield end-to-end solutions.
2. Background of the Invention
As computer systems become increasingly complex, solutions rely more and more on multiple application programs being integrated to each other to achieve a complete functionality needed by a user or owner. Each of these application programs themselves can be quite complex.
The application programs are usually developed separately from each other such that terminology and user interface details such as where options are located within menus, what an option is called, etc., are different from each other. As such, “domain experts” for each application program to be integrated within an overall solution are needed in order to effectively implement the solution. Even products from the same vendor or supplier cannot be assumed to use similar user interface (“UI”) concepts, configuration schemes and terminology because often times the products were originally developed for different market segments thereby driving differences, the products were acquired through corporate merger or product licensing, etc. Thus, it cannot be assumed that an expert on a certain brand and model of database would naturally be familiar and efficient with using another database or with using another non-database program from the same vendor (e.g. same brand).
This means that many programmer experts are needed to deploy a single multi-application solution. The ability to achieve efficient product-level integration of related but disparate application program products is a powerful enabler of marketing and technology to provide an end-to-end solution to client needs.
However, with the exception of the rare cases where related products are designed and developed in conjunction with the intent of integrated use cases, this integration can be a costly and daunting task. For mature products, integration at the product development level would often require a complete re-design and rewrite of at least one, if not both, of the products to be integrated.
Where products cannot integrate to be configured and executed as one, current solutions involve manually configuring the products separately, using product-specific user interfaces and terminology for each, so that the products may be configured to connect.
Drawbacks of such parallel but disjoint configuration of related products are three-fold: (i) a domain expert is required for each of the applications, with intimate knowledge of the terminology, data model, and user interface of that application; (ii) because each is configured separately, total resource cost of configuration rises, in relation to the number and complexity of each application; (iii) validation and integration test must be particularly thorough, to ensure a common goal for configuration in spite of different domain languages, terminology, and user interfaces.